using System;
using System.IO;
using System.Collections.Generic;
using NU.Separacion;

namespace NU
{
	class MainClass
	{
		public static void Main (string[] args)
		{
			List<Object> arg = new List<object> ();
			arg.Add (45);
			arg.Add (Operador.Suma);
			arg.Add (80);
			arg.Add (Operador.Multiplicacion);
			arg.Add (20);

			Object[] a = NU.Analisis.Postfijo.Convertir (arg).ToArray();

			foreach (object o in a)
				Console.WriteLine (o);

			if (args.Length == 0) {
				System.Console.WriteLine ("nu+ <archivo1>.nu [.. <archivon>.nu]");
				return;
			}

			try
			{
				Separador separador = new Separador(args[0]);
				Analisis.Analizador analizador = new Analisis.Analizador(separador.Muestras);
				Generador gen = new Generador(analizador.Resultado);
				gen.Generar(Path.GetFileNameWithoutExtension(args[0]) + ".exe");
			}
			catch (Exception e)
			{
				Console.Error.WriteLine(e.Message);
			}
		}
	}
}
